The present invention generally relates to service oriented architecture, and more particularly relates managing the creation and matching of service specifications and the discovery of services associated therewith.
Service Oriented Architecture (SOA) is a popular building block for open-standards based information technology (IT) today. In general, as is known in computing environments, SOA provides a set of governing concepts used during phases of system (e.g., application) development and integration. Such an architecture packages functionality as interoperable services. Software modules provided as a service can be integrated or used by several domains and/or enterprises, even if their respective client systems are substantially different. Further, it is known that, rather than defining an application programming interface (API), SOA defines the interface in terms of protocols and functionality. Still further, SOA separates functions into distinct units, or services, which developers make accessible over a network in order that users can combine and reuse them in the production of applications. These services communicate with each other by passing data from one service to another, or by coordinating an activity between two or more services.
In the context of intra- and inter-enterprise service connectivity, service domains can be defined that delimit the visibility and connectivity for collections of services and within which services can display Enterprise Service Bus (ESB) properties, including dynamic selection and location transparency. In many instances, service providers and consumers may reside in independent domains (distributed and autonomous). This can make matching services made available by the providers with service requests created by consumers a difficult task.